from collections.abc import Callable
from contextlib import AbstractContextManager
from inspect import _ParameterKind
from typing import Any

ARG_KINDS: frozenset[_ParameterKind]

def get_func_args(func: Callable[..., Any]) -> list[str]: ...
def get_func_full_args(func: Callable[..., Any]) -> list[tuple[str, str] | tuple[str]]: ...
def func_accepts_kwargs(func: Callable[..., Any]) -> bool: ...
def func_accepts_var_args(func: Callable[..., Any]) -> bool: ...
def method_has_no_args(meth: Callable[..., Any]) -> bool: ...
def func_supports_parameter(func: Callable[..., Any], name: str) -> bool: ...
def lazy_annotations() -> AbstractContextManager[None]: ...
